package cn.agiledata.bank.linkbank.logic;

import cn.agiledata.bank.linkbank.exception.LinkBankException;

/**
 * 可进行数字签名校验的
 * 
 * @author maxianbo
 * 
 */
public interface DigitalSignValidatable extends CryptoKeyValidator {
    /**
     * 返回接收到的用于比较的数字签名，而不是通过加密运算得到的数字签名
     * 
     * @return 数字签名
     */
    public String getDigitalSign();

    /**
     * 根据指定密钥校验数字签名是否匹配
     * 
     * @param cryptoKey
     *            密钥
     * @return true if 数字签名匹配, otherwise false
     * @throws LinkBankException
     *             如果校验过程出现不可预期的异常
     */
    public boolean validateDigitalSign(String cryptoKey)
            throws LinkBankException;
}
